package com.xueyi.starter.scheduling.annotations;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

/**
 * 描述 定时任务
 *
 * @author 俞烨
 * @date 2024-03-13 11
 */
@Retention(RetentionPolicy.RUNTIME)
public @interface TaskSchedulingOnly {

    /**
     * 在指定时间内只能运行一次
     *
     * @return
     */
    boolean onlyRun() default true;

    /**
     * 定时任务的名称
     *
     * @return
     */
    String taskName() default "";

    /**
     * 多少秒内不能重复执行
     *
     * @return
     */
    int taskSecond();

    /**
     * 该定时任务是否要区分在机器上运行
     *
     * @return
     */
    boolean diffServer() default false;

    /**
     * 在环境变量中机器名的名称是什么
     *
     * @return
     */
    String propertyName() default "CLUSTER_NUMBER";
}
